package com.lh.service;

import com.lh.entity.Cart;
import com.lh.entity.OrdersCart;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @Author: LuoHang
 * @Date: 2021/2/15 17:13
 * @Description
 */

public interface CartService {
    /**
     * 获取购物车
     *
     * @param userId 用户id
     * @return 购物车集合
     */
    List<Cart> getCarts(Integer userId);

    /**
     * 添加购物车
     *
     * @param map 购物车信息
     * @return count>0 影响的行数
     */
    int addCart(Map<String,Object> map);

    /**
     * 根据购物车id 删除购物车
     *
     * @param id 购物车对应的id
     * @return count>0 影响的行数
     */
    int deleteCartById(Integer id);

    /**
     * 更新购物车信息
     *
     * @param map 条件信息
     * @return 影响的行数
     */
    int updateCart(Map<String,Object> map);

    /**
     * 通过用户id和商品id锁定购物车id
     *
     * @param map 条件
     * @return 购物车对象
     */
    Cart getCartByUserIdGoodsId(Map<String,Object> map);

    /**
     * 添加购物车和订单的关联
     *
     * @param ordersCart 订单与购物车的关联表对象
     * @return 影响的行数
     */
    int addOrdersCart(OrdersCart ordersCart);

    int getCartNums(Map<String,Integer> map);

    Cart getCartById(Integer id);
}
